// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.highlighter;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("idea/tests")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("testData/highlighterMetaInfo")
public abstract class K1HighlightingMetaInfoTestGenerated extends AbstractK1HighlightingMetaInfoTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/highlighterMetaInfo/diagnostics")
    public static class Diagnostics extends AbstractK1HighlightingMetaInfoTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("classRedeclaration.kt")
        public void testClassRedeclaration() throws Exception {
            runTest("testData/highlighterMetaInfo/diagnostics/classRedeclaration.kt");
        }

        @TestMetadata("dataClassFromLibrary.kt")
        public void testDataClassFromLibrary() throws Exception {
            runTest("testData/highlighterMetaInfo/diagnostics/dataClassFromLibrary.kt");
        }

        @TestMetadata("javaCodeInKotlinFile1.kt")
        public void testJavaCodeInKotlinFile1() throws Exception {
            runTest("testData/highlighterMetaInfo/diagnostics/javaCodeInKotlinFile1.kt");
        }

        @TestMetadata("mppIsNotEnabled.kt")
        public void testMppIsNotEnabled() throws Exception {
            runTest("testData/highlighterMetaInfo/diagnostics/mppIsNotEnabled.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/highlighterMetaInfo/dsl")
    public static class Dsl extends AbstractK1HighlightingMetaInfoTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("AnnotatedTypeParameter.kt")
        public void testAnnotatedTypeParameter() throws Exception {
            runTest("testData/highlighterMetaInfo/dsl/AnnotatedTypeParameter.kt");
        }

        @TestMetadata("AnnotatedTypeSpecifier.kt")
        public void testAnnotatedTypeSpecifier() throws Exception {
            runTest("testData/highlighterMetaInfo/dsl/AnnotatedTypeSpecifier.kt");
        }

        @TestMetadata("ImplementsDslInterface.kt")
        public void testImplementsDslInterface() throws Exception {
            runTest("testData/highlighterMetaInfo/dsl/ImplementsDslInterface.kt");
        }

        @TestMetadata("NestedReceivers.kt")
        public void testNestedReceivers() throws Exception {
            runTest("testData/highlighterMetaInfo/dsl/NestedReceivers.kt");
        }

        @TestMetadata("RegularDsl.kt")
        public void testRegularDsl() throws Exception {
            runTest("testData/highlighterMetaInfo/dsl/RegularDsl.kt");
        }

        @TestMetadata("SubclassOfDslClass.kt")
        public void testSubclassOfDslClass() throws Exception {
            runTest("testData/highlighterMetaInfo/dsl/SubclassOfDslClass.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/highlighterMetaInfo/focusMode")
    public static class FocusMode extends AbstractK1HighlightingMetaInfoTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("script.kts")
        public void testScript() throws Exception {
            runTest("testData/highlighterMetaInfo/focusMode/script.kts");
        }

        @TestMetadata("SimpleClass.kt")
        public void testSimpleClass() throws Exception {
            runTest("testData/highlighterMetaInfo/focusMode/SimpleClass.kt");
        }

        @TestMetadata("SimpleClassInFunction.kt")
        public void testSimpleClassInFunction() throws Exception {
            runTest("testData/highlighterMetaInfo/focusMode/SimpleClassInFunction.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/highlighterMetaInfo/jvm")
    public static class Jvm extends AbstractK1HighlightingMetaInfoTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("javaFields.kt")
        public void testJavaFields() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/javaFields.kt");
        }

        @TestMetadata("JavaRecord.kt")
        public void testJavaRecord() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/JavaRecord.kt");
        }

        @TestMetadata("javaStaticFields.kt")
        public void testJavaStaticFields() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/javaStaticFields.kt");
        }

        @TestMetadata("JavaTypes.kt")
        public void testJavaTypes() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/JavaTypes.kt");
        }

        @TestMetadata("KotlinAnnotationsInJava.kt")
        public void testKotlinAnnotationsInJava() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/KotlinAnnotationsInJava.kt");
        }

        @TestMetadata("KotlinInfixFunctionInjection.kt")
        public void testKotlinInfixFunctionInjection() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/KotlinInfixFunctionInjection.kt");
        }

        @TestMetadata("KotlinInjection.kt")
        public void testKotlinInjection() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/KotlinInjection.kt");
        }

        @TestMetadata("KotlinSimpleInjection.kt")
        public void testKotlinSimpleInjection() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/KotlinSimpleInjection.kt");
        }

        @TestMetadata("KotlinVarargsParametersInjection.kt")
        public void testKotlinVarargsParametersInjection() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/KotlinVarargsParametersInjection.kt");
        }

        @TestMetadata("LibraryVarargParameterWithFunctionalType.kt")
        public void testLibraryVarargParameterWithFunctionalType() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/LibraryVarargParameterWithFunctionalType.kt");
        }

        @TestMetadata("NonExistingKotlinMethodFromJava.kt")
        public void testNonExistingKotlinMethodFromJava() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/NonExistingKotlinMethodFromJava.kt");
        }

        @TestMetadata("RepeatableAnnotation.kt")
        public void testRepeatableAnnotation() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/RepeatableAnnotation.kt");
        }

        @TestMetadata("RepeatableAsAliasAnnotation.kt")
        public void testRepeatableAsAliasAnnotation() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/RepeatableAsAliasAnnotation.kt");
        }

        @TestMetadata("SyntheticExtensionProperty.kt")
        public void testSyntheticExtensionProperty() throws Exception {
            runTest("testData/highlighterMetaInfo/jvm/SyntheticExtensionProperty.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/highlighterMetaInfo/smartCasts")
    public static class SmartCasts extends AbstractK1HighlightingMetaInfoTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("Explicit.kt")
        public void testExplicit() throws Exception {
            runTest("testData/highlighterMetaInfo/smartCasts/Explicit.kt");
        }

        @TestMetadata("Explicit_qualifiedCalls.kt")
        public void testExplicit_qualifiedCalls() throws Exception {
            runTest("testData/highlighterMetaInfo/smartCasts/Explicit_qualifiedCalls.kt");
        }

        @TestMetadata("Explicit_withInvokeCall.kt")
        public void testExplicit_withInvokeCall() throws Exception {
            runTest("testData/highlighterMetaInfo/smartCasts/Explicit_withInvokeCall.kt");
        }

        @TestMetadata("ImplicitAndExplicit_functions.kt")
        public void testImplicitAndExplicit_functions() throws Exception {
            runTest("testData/highlighterMetaInfo/smartCasts/ImplicitAndExplicit_functions.kt");
        }

        @TestMetadata("ImplicitAndExplicit_operators.kt")
        public void testImplicitAndExplicit_operators() throws Exception {
            runTest("testData/highlighterMetaInfo/smartCasts/ImplicitAndExplicit_operators.kt");
        }

        @TestMetadata("ImplicitAndExplicit_properties.kt")
        public void testImplicitAndExplicit_properties() throws Exception {
            runTest("testData/highlighterMetaInfo/smartCasts/ImplicitAndExplicit_properties.kt");
        }

        @TestMetadata("Implicit_stable.kt")
        public void testImplicit_stable() throws Exception {
            runTest("testData/highlighterMetaInfo/smartCasts/Implicit_stable.kt");
        }

        @TestMetadata("Invokes.kt")
        public void testInvokes() throws Exception {
            runTest("testData/highlighterMetaInfo/smartCasts/Invokes.kt");
        }

        @TestMetadata("Unstable_explicitReceiver.kt")
        public void testUnstable_explicitReceiver() throws Exception {
            runTest("testData/highlighterMetaInfo/smartCasts/Unstable_explicitReceiver.kt");
        }

        @TestMetadata("Unstable_implicitReceiver.kt")
        public void testUnstable_implicitReceiver() throws Exception {
            runTest("testData/highlighterMetaInfo/smartCasts/Unstable_implicitReceiver.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/highlighterMetaInfo")
    public static class Uncategorized extends AbstractK1HighlightingMetaInfoTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("Annotations.kt")
        public void testAnnotations() throws Exception {
            runTest("testData/highlighterMetaInfo/Annotations.kt");
        }

        @TestMetadata("AnnotationsInDumbMode.kt")
        public void testAnnotationsInDumbMode() throws Exception {
            runTest("testData/highlighterMetaInfo/AnnotationsInDumbMode.kt");
        }

        @TestMetadata("AutoCreatedItParameter.kt")
        public void testAutoCreatedItParameter() throws Exception {
            runTest("testData/highlighterMetaInfo/AutoCreatedItParameter.kt");
        }

        @TestMetadata("deprecation.kt")
        public void testDeprecation() throws Exception {
            runTest("testData/highlighterMetaInfo/deprecation.kt");
        }

        @TestMetadata("Destructuring.kt")
        public void testDestructuring() throws Exception {
            runTest("testData/highlighterMetaInfo/Destructuring.kt");
        }

        @TestMetadata("Enums.kt")
        public void testEnums() throws Exception {
            runTest("testData/highlighterMetaInfo/Enums.kt");
        }

        @TestMetadata("ExplicitInvokeCall.kt")
        public void testExplicitInvokeCall() throws Exception {
            runTest("testData/highlighterMetaInfo/ExplicitInvokeCall.kt");
        }

        @TestMetadata("Field.kt")
        public void testField() throws Exception {
            runTest("testData/highlighterMetaInfo/Field.kt");
        }

        @TestMetadata("Functions.kt")
        public void testFunctions() throws Exception {
            runTest("testData/highlighterMetaInfo/Functions.kt");
        }

        @TestMetadata("InvokeCall.kt")
        public void testInvokeCall() throws Exception {
            runTest("testData/highlighterMetaInfo/InvokeCall.kt");
        }

        @TestMetadata("KDoc.kt")
        public void testKDoc() throws Exception {
            runTest("testData/highlighterMetaInfo/KDoc.kt");
        }

        @TestMetadata("Labels.kt")
        public void testLabels() throws Exception {
            runTest("testData/highlighterMetaInfo/Labels.kt");
        }

        @TestMetadata("NamedArguments.kt")
        public void testNamedArguments() throws Exception {
            runTest("testData/highlighterMetaInfo/NamedArguments.kt");
        }

        @TestMetadata("NonNullAssertion.kt")
        public void testNonNullAssertion() throws Exception {
            runTest("testData/highlighterMetaInfo/NonNullAssertion.kt");
        }

        @TestMetadata("Object.kt")
        public void testObject() throws Exception {
            runTest("testData/highlighterMetaInfo/Object.kt");
        }

        @TestMetadata("PropertiesWithPropertyDeclarations.kt")
        public void testPropertiesWithPropertyDeclarations() throws Exception {
            runTest("testData/highlighterMetaInfo/PropertiesWithPropertyDeclarations.kt");
        }

        @TestMetadata("PropertiesWithPropertyDeclarationsInDumbMode.kt")
        public void testPropertiesWithPropertyDeclarationsInDumbMode() throws Exception {
            runTest("testData/highlighterMetaInfo/PropertiesWithPropertyDeclarationsInDumbMode.kt");
        }

        @TestMetadata("script.kts")
        public void testScript() throws Exception {
            runTest("testData/highlighterMetaInfo/script.kts");
        }

        @TestMetadata("Suspend.kt")
        public void testSuspend() throws Exception {
            runTest("testData/highlighterMetaInfo/Suspend.kt");
        }

        @TestMetadata("Todo.kt")
        public void testTodo() throws Exception {
            runTest("testData/highlighterMetaInfo/Todo.kt");
        }

        @TestMetadata("TypeAlias.kt")
        public void testTypeAlias() throws Exception {
            runTest("testData/highlighterMetaInfo/TypeAlias.kt");
        }

        @TestMetadata("TypesAndAnnotations.kt")
        public void testTypesAndAnnotations() throws Exception {
            runTest("testData/highlighterMetaInfo/TypesAndAnnotations.kt");
        }

        @TestMetadata("Variables.kt")
        public void testVariables() throws Exception {
            runTest("testData/highlighterMetaInfo/Variables.kt");
        }

        @TestMetadata("VariablesAsFunctions.kt")
        public void testVariablesAsFunctions() throws Exception {
            runTest("testData/highlighterMetaInfo/VariablesAsFunctions.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/highlighterMetaInfo/unresolved")
    public static class Unresolved extends AbstractK1HighlightingMetaInfoTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("unresolvedImport.kt")
        public void testUnresolvedImport() throws Exception {
            runTest("testData/highlighterMetaInfo/unresolved/unresolvedImport.kt");
        }

        @TestMetadata("unresolvedLabel.kt")
        public void testUnresolvedLabel() throws Exception {
            runTest("testData/highlighterMetaInfo/unresolved/unresolvedLabel.kt");
        }

        @TestMetadata("unresolvedReference.kt")
        public void testUnresolvedReference() throws Exception {
            runTest("testData/highlighterMetaInfo/unresolved/unresolvedReference.kt");
        }
    }
}
